1. Field of the Invention
The present invention relates to a motor control apparatus for controlling a motor by detecting a rotor angle using an angle sensor in a high rotational speed range and a rotor angle without using an angle sensor in a low rotational speed range.
2. Description of the Related Art
For energizing a synchronous motor such as a DC brushless motor or the like or an induction motor to generate a desired torque, it is necessary to pass currents through the armatures of the motor at appropriate phases depending on the angle (position) of the rotor of the motor.
Therefore, the rotor is generally combined with a position detecting sensor for detecting the position of the rotor. Using the position detecting sensor increases the cost of the motor itself and also the cost of a motor control apparatus because of the position detecting sensor itself, wires for delivering an output signal from the position detecting sensor, and a receiving circuit in a motor control apparatus for receiving such an output signal. It has been proposed to detect a rotor angle in a sensorless fashion without the need for a position sensor as disclosed in Japanese laid-open patent publication No. 7-245981, for example. However, the sensorless detection of a rotor angle poses problems with respect to transient characteristics and detection accuracy particularly in a high rotational speed range.
In applications where a motor directly coupled to an engine on a hybrid vehicle is to be controlled, a crankshaft angle sensor for outputting a signal when the engine reaches a certain mechanical angular position, for thereby detecting the rotational speed of the engine may be used as a sensor for detecting the rotor angle of the motor. However, the crankshaft angle sensor is not constructed for accurately detecting the rotational speed of the engine in a low rotational speed range thereof such as when the engine is cranked.
There has been proposed, for use in hybrid vehicles, a process of detecting the rotor angle of a motor using a sensor for detecting the crankshaft angle of an engine in a high rotational speed range and detecting the rotor angle in a sensorless fashion in a low rotational speed range (see Japanese laid-open patent publication No. 9-219906).
The inventor of the present invention has found that when the rotor angle is detected in different modes depending on the rotational speed of the engine according the proposed process, the motor tends to vibrate and behave unstably upon switching between the modes.
According to the present invention, there is provided a motor control apparatus comprising a current sensor for detecting a current flowing through an armature of a motor having a salient-pole rotor, a rotational speed sensor for detecting a rotational speed of the motor, an angle sensor for outputting a pulse signal each time a rotor angle of the motor reaches a predetermined angle when the motor is rotated, high-frequency voltage applying means for applying a high-frequency voltage to the armature of the motor, rotor angle detecting means for carrying out a first rotor angle detecting process to apply the high-frequency voltage from the high-frequency voltage applying means to the armature and detect the rotor angle of the motor based on a change in the current detected by the current detector depending on the applied high-frequency voltage when the detected rotational speed of the motor is lower than a predetermined rotational speed, and carrying out a second rotor angle detecting process to detect the rotor angle of the motor based on the pulse signal outputted from the angle sensor when the detected rotational speed of the motor is equal to or higher than the predetermined rotational speed, and energization control means for controlling energization of the armature based on the rotor angle of the motor which is detected by the rotor angle detecting means.
With the above motor control apparatus, the rotor angle of the motor can be detected relatively accurately from the pulse signal which is outputted from the angle sensor upon rotation of the motor. When the motor is at rest, since the pulse signal is not outputted, the rotor angle of the motor cannot be detected. Depending on the type of the angle sensor, the output level of the pulse signal may be lowered to an undetectable level when the motor is rotating at a low speed. If the rotational speed detected by the rotational speed sensor is less than the predetermined rotational speed, then the rotor angle is detected in the first rotor angle detecting process which does not use the pulse signal.
The accuracy with which the rotor angle is detected in the first rotor angle detecting process may not necessarily the same as the accuracy with which the rotor angle is detected in the second rotor angle detecting process. If the accuracy with which the rotor angle is detected in the first rotor angle detecting process is lower than the accuracy with which the rotor angle is detected in the second rotor angle detecting process, then the continuity of detected rotor angles detected in a transition from the second rotor angle detecting process to the first rotor angle detecting process is lost, making the behavior of the motor unstable.
According to the present invention, the rotor angle detecting means comprises means for sampling the current detected by the current sensor in each given control cycle to detect the rotor angle of the motor in the first rotor angle detecting process, and, when the second rotor angle detecting process changes to the first rotor angle detecting process, detecting the rotor angle finally detected in the second rotor angle detecting process as the rotor angle in a first control cycle of the first rotor angle detecting process, and, in subsequent control cycles, detecting the rotor angle in a present control cycle using the rotor angle detected in a preceding control cycle as a calculation parameter.
When the rotational speed of the engine shifts from a high rotational speed range equal to or higher than the predetermined rotational speed to a low rotational speed range smaller than the predetermined rotational speed, the rotor angle detecting means switches from the second rotor angle detecting process to the first rotor angle detecting process for the detection of the rotor angle of the motor.
In a first control cycle of the first rotor angle detecting process, the rotor angle detecting means uses the rotor angle finally detected in the second rotor angle detecting process as the detected rotor angle. In subsequent control cycles, the rotor angle detecting means detects the rotor angle in a present control cycle using the rotor angle detected in a preceding control cycle as a calculation parameter.
When the second rotor angle detecting process changes to the first rotor angle detecting process, the first rotor angle detecting process detects the rotor angle of the motor, reflecting the rotor angle of the motor which is finally detected in the second rotor angle detecting process. Therefore, since the second rotor angle detecting process smoothly changes to the first rotor angle detecting process with continuity, the motor is prevented from operating unstably upon the transition from the second rotor angle detecting process to the first rotor angle detecting process.
The rotor angle detecting means comprises phase difference data generating means for generating phase difference data representing the phase difference (xcex8xe2x88x92xcex8{circumflex over ( )}) between an actual value (xcex8) and an estimated value (xcex8{circumflex over ( )}) of the rotor angle of the motor based on the detected current which is sampled in each given control cycle, and means for, in a first control cycle of the first rotor angle detecting process when the second rotor angle detecting process changes to the first rotor angle detecting process, using the rotor angle finally detected in the second rotor angle detecting process as the estimated value (xcex8{circumflex over ( )}) of the rotor angle of the motor, calculating an estimated value (xcfx89{circumflex over ( )}) of a rotor angular velocity depending on a change in the rotor angle detected in the second rotor angle detecting process, and detecting the estimated value (xcex8{circumflex over ( )}) of the rotor angle as the rotor angle of the motor, and in subsequent control cycles, using the estimated values (xcex8{circumflex over ( )}, xcfx89{circumflex over ( )}) of the rotor angle and the rotor angular velocity in a preceding control cycle as calculation parameters, updating the calculation parameters with an observer which sequentially updates the calculation parameters depending on the phase difference data in order to eliminate the phase difference (xcex8xe2x88x92xcex8{circumflex over ( )}) represented by the phase difference data calculated by the phase difference data generating means in the preceding control cycle, for thereby calculating the estimated value (xcex8{circumflex over ( )}) of the rotor angle of the motor in the present control cycle, and detecting the estimated value (xcex8{circumflex over ( )}) of the rotor angle as the rotor angle of the motor.
With the above arrangement, the rotor angle detecting means uses the rotor angle finally detected in the second rotor angle detecting process as the estimated value (xcex8{circumflex over ( )}) of the rotor angle of the motor in the first control cycle of the first rotor angle detecting process. In subsequent control cycles, the rotor angle detecting means uses the estimated values (xcex8{circumflex over ( )}, xcfx89{circumflex over ( )}) of the rotor angle and the rotor angular velocity which are calculated in the preceding control cycle as calculation parameters, and sequentially updates and calculates the estimated value (xcex8{circumflex over ( )}) of the rotor angle with the observer.
Therefore, when the second rotor angle detecting process changes to the first rotor angle detecting process, the first rotor angle detecting process detects the rotor angle of the motor, reflecting the rotor angle and the rotor angular velocity of the motor which are finally detected in the second rotor angle detecting process. Therefore, since the second rotor angle detecting process smoothly changes to the first rotor angle detecting process with continuity, the motor is prevented from operating unstably upon the transition from the second rotor angle detecting process to the first rotor angle detecting process.
The inventor of the present invention has found that the rotor angle of the motor detected in the first rotor angle detecting process is in advance of the actual rotor angle depending on the magnitude of the armature current of the motor. When the rotor angle thus detected is advanced, if the energization of the armature of the motor is controlled by the energization control means based on the detected rotor angle, then the actual rotor angle and the direction of the rotating magnetic field which is generated upon energization of the armature are brought out of phase with each other, resulting in a failure to operate the motor normally.
According to the present invention, the energization control means comprises means for handling the motor as an equivalent circuit converted therefrom having a q-axis armature disposed on a q-axis which represents the direction of magnetic fluxes produced by field poles of the rotor, and a d-axis armature disposed on a d-axis which extends perpendicularly to the q-axis, and controlling energization of the armatures of the motor depending on q- and d-axes command currents, memory means for storing reference data representing the correlation between armature currents of the motor and advanced angles of the rotor angle detected in the first rotor angle detecting process, and current command correcting means for rotating a coordinate system having the d-axis and the q-axis to correct the q- and d-axes command currents in order to eliminate an advanced angle which is obtained by applying the armature current of the motor depending on the q- and d-axes command currents to the reference data.
The current command correcting means rotates the coordinate system having the d-axis and the q-axis in order to eliminate the advanced angle which is obtained from the reference data, thereby to correct the q- and d-axes command currents. The effect of the advanced angle can thus be removed.
The rotor angle detecting means comprises time measuring means for starting to measure time each time the pulse signal is inverted, pulse inversion time memory means for storing the time measured by the time measuring means as a pulse inversion time between a preceding pulse inversion and a present pulse inversion each time the pulse signal is inverted, pulse inversion time estimating means for determining an estimated pulse inversion time which represents an estimated value of a time from the present pulse inversion to a next pulse inversion based on a plurality of pulse inversion times which are stored in the pulse inversion time memory means, each time the pulse signal is inverted, and means for detecting a present rotor angle from the ratio of the time measured by the time measuring means to the present estimated pulse inversion time in the second rotor angle detecting process.
The pulse inversion time estimating means determines a present estimated pulse inversion time based on a plurality of pulse inversion times which are stored in the pulse inversion time memory means, for thereby reflecting a change in the pulse inversion time and determining the estimated pulse inversion time with greater accuracy.
If the motor is connected to an engine mounted on a hybrid vehicle, and a crankshaft angle sensor is associated with the engine, then when the motor is rotating with the engine, the crankshaft angle sensor outputs a pulse signal each time the crankshaft of the engine reaches a certain angular position. Using the rotor angle of the motor at the time the crankshaft of the engine reaches the certain angular position, as the predetermined angle, the crankshaft angle sensor can be used as the angle sensor. With this arrangement, the motor control apparatus is made less costly because there is no need to provide the angle sensor as a dedicated angle sensor.
The above and other objects, features, and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate a preferred embodiment of the present invention by way of example.